package com.labbit.platform.manager.domain.po;

import java.util.Date;

public class Resources {
    private String id;

    private String createdBy;

    private Date createdDate;

    private String updatedBy;

    private Date updatedDate;

    private String resourceName;

    private Integer resourceNo;

    private String title;

    private Boolean resourceTypeId;

    private Boolean resourceSubType;

    private Boolean isDeleted;

    private String resourceCover;

    private String abilityLevel1;

    private String abilityLevel2;

    private String abilityLevel3;

    private String abilityLevel4;

    private String trainningMethod;

    private String notes;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy == null ? null : createdBy.trim();
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy == null ? null : updatedBy.trim();
    }

    public Date getUpdatedDate() {
        return updatedDate;
    }

    public void setUpdatedDate(Date updatedDate) {
        this.updatedDate = updatedDate;
    }

    public String getResourceName() {
        return resourceName;
    }

    public void setResourceName(String resourceName) {
        this.resourceName = resourceName == null ? null : resourceName.trim();
    }

    public Integer getResourceNo() {
        return resourceNo;
    }

    public void setResourceNo(Integer resourceNo) {
        this.resourceNo = resourceNo;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    public Boolean getResourceTypeId() {
        return resourceTypeId;
    }

    public void setResourceTypeId(Boolean resourceTypeId) {
        this.resourceTypeId = resourceTypeId;
    }

    public Boolean getResourceSubType() {
        return resourceSubType;
    }

    public void setResourceSubType(Boolean resourceSubType) {
        this.resourceSubType = resourceSubType;
    }

    public Boolean getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Boolean isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getResourceCover() {
        return resourceCover;
    }

    public void setResourceCover(String resourceCover) {
        this.resourceCover = resourceCover == null ? null : resourceCover.trim();
    }

    public String getAbilityLevel1() {
        return abilityLevel1;
    }

    public void setAbilityLevel1(String abilityLevel1) {
        this.abilityLevel1 = abilityLevel1 == null ? null : abilityLevel1.trim();
    }

    public String getAbilityLevel2() {
        return abilityLevel2;
    }

    public void setAbilityLevel2(String abilityLevel2) {
        this.abilityLevel2 = abilityLevel2 == null ? null : abilityLevel2.trim();
    }

    public String getAbilityLevel3() {
        return abilityLevel3;
    }

    public void setAbilityLevel3(String abilityLevel3) {
        this.abilityLevel3 = abilityLevel3 == null ? null : abilityLevel3.trim();
    }

    public String getAbilityLevel4() {
        return abilityLevel4;
    }

    public void setAbilityLevel4(String abilityLevel4) {
        this.abilityLevel4 = abilityLevel4 == null ? null : abilityLevel4.trim();
    }

    public String getTrainningMethod() {
        return trainningMethod;
    }

    public void setTrainningMethod(String trainningMethod) {
        this.trainningMethod = trainningMethod == null ? null : trainningMethod.trim();
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes == null ? null : notes.trim();
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", createdBy=").append(createdBy);
        sb.append(", createdDate=").append(createdDate);
        sb.append(", updatedBy=").append(updatedBy);
        sb.append(", updatedDate=").append(updatedDate);
        sb.append(", resourceName=").append(resourceName);
        sb.append(", resourceNo=").append(resourceNo);
        sb.append(", title=").append(title);
        sb.append(", resourceTypeId=").append(resourceTypeId);
        sb.append(", resourceSubType=").append(resourceSubType);
        sb.append(", isDeleted=").append(isDeleted);
        sb.append(", resourceCover=").append(resourceCover);
        sb.append(", abilityLevel1=").append(abilityLevel1);
        sb.append(", abilityLevel2=").append(abilityLevel2);
        sb.append(", abilityLevel3=").append(abilityLevel3);
        sb.append(", abilityLevel4=").append(abilityLevel4);
        sb.append(", trainningMethod=").append(trainningMethod);
        sb.append(", notes=").append(notes);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Resources other = (Resources) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCreatedBy() == null ? other.getCreatedBy() == null : this.getCreatedBy().equals(other.getCreatedBy()))
            && (this.getCreatedDate() == null ? other.getCreatedDate() == null : this.getCreatedDate().equals(other.getCreatedDate()))
            && (this.getUpdatedBy() == null ? other.getUpdatedBy() == null : this.getUpdatedBy().equals(other.getUpdatedBy()))
            && (this.getUpdatedDate() == null ? other.getUpdatedDate() == null : this.getUpdatedDate().equals(other.getUpdatedDate()))
            && (this.getResourceName() == null ? other.getResourceName() == null : this.getResourceName().equals(other.getResourceName()))
            && (this.getResourceNo() == null ? other.getResourceNo() == null : this.getResourceNo().equals(other.getResourceNo()))
            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
            && (this.getResourceTypeId() == null ? other.getResourceTypeId() == null : this.getResourceTypeId().equals(other.getResourceTypeId()))
            && (this.getResourceSubType() == null ? other.getResourceSubType() == null : this.getResourceSubType().equals(other.getResourceSubType()))
            && (this.getIsDeleted() == null ? other.getIsDeleted() == null : this.getIsDeleted().equals(other.getIsDeleted()))
            && (this.getResourceCover() == null ? other.getResourceCover() == null : this.getResourceCover().equals(other.getResourceCover()))
            && (this.getAbilityLevel1() == null ? other.getAbilityLevel1() == null : this.getAbilityLevel1().equals(other.getAbilityLevel1()))
            && (this.getAbilityLevel2() == null ? other.getAbilityLevel2() == null : this.getAbilityLevel2().equals(other.getAbilityLevel2()))
            && (this.getAbilityLevel3() == null ? other.getAbilityLevel3() == null : this.getAbilityLevel3().equals(other.getAbilityLevel3()))
            && (this.getAbilityLevel4() == null ? other.getAbilityLevel4() == null : this.getAbilityLevel4().equals(other.getAbilityLevel4()))
            && (this.getTrainningMethod() == null ? other.getTrainningMethod() == null : this.getTrainningMethod().equals(other.getTrainningMethod()))
            && (this.getNotes() == null ? other.getNotes() == null : this.getNotes().equals(other.getNotes()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCreatedBy() == null) ? 0 : getCreatedBy().hashCode());
        result = prime * result + ((getCreatedDate() == null) ? 0 : getCreatedDate().hashCode());
        result = prime * result + ((getUpdatedBy() == null) ? 0 : getUpdatedBy().hashCode());
        result = prime * result + ((getUpdatedDate() == null) ? 0 : getUpdatedDate().hashCode());
        result = prime * result + ((getResourceName() == null) ? 0 : getResourceName().hashCode());
        result = prime * result + ((getResourceNo() == null) ? 0 : getResourceNo().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getResourceTypeId() == null) ? 0 : getResourceTypeId().hashCode());
        result = prime * result + ((getResourceSubType() == null) ? 0 : getResourceSubType().hashCode());
        result = prime * result + ((getIsDeleted() == null) ? 0 : getIsDeleted().hashCode());
        result = prime * result + ((getResourceCover() == null) ? 0 : getResourceCover().hashCode());
        result = prime * result + ((getAbilityLevel1() == null) ? 0 : getAbilityLevel1().hashCode());
        result = prime * result + ((getAbilityLevel2() == null) ? 0 : getAbilityLevel2().hashCode());
        result = prime * result + ((getAbilityLevel3() == null) ? 0 : getAbilityLevel3().hashCode());
        result = prime * result + ((getAbilityLevel4() == null) ? 0 : getAbilityLevel4().hashCode());
        result = prime * result + ((getTrainningMethod() == null) ? 0 : getTrainningMethod().hashCode());
        result = prime * result + ((getNotes() == null) ? 0 : getNotes().hashCode());
        return result;
    }
}